#ifndef DATA_LOADING_H
#define DATA_LOADING_H

#include "Data/Objects/Scene.h"
#include "Data/Objects/Map.h"
#include "Data/Objects/Obstacle.h"
#include "Data/Objects/CreatureDef.h"
#include "Data/Objects/Body.h"
#include "Data/Objects/RotorDef.h"

namespace data {

	Scene LoadScene( const std::string& filename );
	void SaveScene( const Scene& scene, const std::string& filename );

	Map LoadMap( const std::string& filename );
	void SaveMap( const Map& map, const std::string& filename );

	CreatureDef LoadCreatureDef( const std::string& filename );
	void SaveCreatureDef( const CreatureDef& creatureDef, const std::string& filename );

	RotorDef LoadRotorDef( const std::string& filename );
	void SaveRotorDef( const RotorDef& rotorDef, const std::string& filename );

	Model LoadModel( const std::string& filename );
	void SaveModel( const Model& model, const std::string& filename );

	Body LoadBody( const std::string& filename );
	void SaveBody( const Body& body, const std::string& filename );
}
#endif
